package com.gss.plugin.redis.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * @author: DYang
 * @since: 2023/8/23
 * @description:
 */
@Data
@Configuration
@ConfigurationProperties("stars.redis")
public class RedisProperties {

    /**
     * 端口
     */
    private int port = 6379;
    /**
     * 地址
     */
    private String host = "localhost";
    /**
     * 默认数据库
     */
    private int db = 0;
    /**
     * 用户名
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 连接超时时间（毫秒）
     */
    @Value("${stars.redis.commandTimeout:10000}")
    private long commandTimeout;
    /**
     * 连接池最大连接数（使用负值表示没有限制）
     */
    @Value("${stars.redis.maxActive:-1}")
    private int maxActive;
    /**
     * 连接池最大阻塞等待时间（使用负值表示没有限制）
     */
    @Value("${stars.redis.maxWait:3000}")
    private int maxWait;
    /**
     * 连接池中的最大空闲连接
     */
    @Value("${stars.redis.maxIdle:100}")
    private int maxIdle;
    /**
     * 连接池中的最小空闲连接
     */
    @Value("${stars.redis.minIdle:5}")
    private int minIdle;
}
